Apparatus, method and program for providing financial transaction by vritual card number

ABSTRACT

Embodiments of the inventive concept described herein relate to a virtual card number-based financial transaction apparatus, a virtual card number-based financial transaction providing method, and a virtual card number-based financial transaction providing program, and more particularly, relate to an apparatus, method, and program that may provide a user with an electronic wallet service in an environment where an infrastructure of a financial transaction service is not established.

CROSS-REFERENCE TO RELATED APPLICATIONS

A claim for priority under 35 U.S.C. § 119 is made to Korean PatentApplication Nos. 10-2019-0107065 filed on Aug. 30, 2019 and10-2020-0078643 filed on Jun. 26, 2020 in the Korean IntellectualProperty Office, the entire contents of which are hereby incorporated byreference.

BACKGROUND

Embodiments of the inventive concept described herein relate to avirtual card number-based financial transaction apparatus, a virtualcard number-based financial transaction providing method, and a virtualcard number-based financial transaction providing program, and moreparticularly, relate to an apparatus, method, and program that mayprovide a user with an electronic wallet service in an environment wherean infrastructure of a financial transaction service is not established.

Code-type data is being used in a lot of fields. In addition to the cardnumber or account number used to make a payment, the code-type dataincludes an IPIN number, a resident registration number, or the like foruser identification.

However, the code data may be leaked when such the code data is used. Inthe case of a card number, because the actual card number is recorded onthe card surface as it is, the actual card number is visually exposed toother people. Upon making a payment using a magnet, the card number isleaked to other people while being transmitted to a POS device.

The virtual card number was used to prevent the actual card number frombeing leaked. However, data for identifying a user is needed to searchfor the actual card number corresponding to the virtual card number. Forexample, the code of One Time Password (OTP) is changed and generatedevery time. However, in the case of OTP, a login procedure is needed todetermine the algorithm assigned to the user, and it is difficult forOTP to be applied to various fields.

Accordingly, there is a need for a device capable of searching for theactual card number based on the virtual card number changed in realtime, while not providing the identification information about a user ora device corresponding to the actual card number.

There is a prior art disclosed as Korean Registered Patent No.10-1316466 on Oct. 1, 2013.

SUMMARY

Embodiments of the inventive concept provide a financial transactionapparatus, a virtual card number-based financial transaction providingmethod, and a financial transaction providing program that may provide afinancial transaction service to an electronic wallet service subscriberin an environment where a payment infrastructure of the electronicwallet service is not established.

Embodiments of the inventive concept provide a financial transactionapparatus, a virtual card number-based financial transaction providingmethod, and a financial transaction providing program that may notexpose the actual credit card number stored in the electronic walletsystem.

The technical problems to be solved by the present inventive concept arenot limited to the aforementioned problems, and any other technicalproblems not mentioned herein will be clearly understood from thefollowing description by those skilled in the art to which the inventiveconcept pertains.

The inventive concept for solving the above-described problems providesa financial transaction providing method performed by a verificationserver.

According to an exemplary embodiment, a virtual card number-basedfinancial transaction providing method by a verification server includesreceiving, by the verification server, a virtual card number provided bya virtual card number generation means, from a financial transactionterminal, searching, by the virtual card number verification means, fora matching code, using a plurality of detailed codes included in thevirtual card number, transmitting, by the verification server, thevirtual card number or the matching code to one wallet server of aplurality of wallet servers storing in an actual card number, based onthe matching code, receiving the actual card number corresponding to thevirtual card number from the one wallet server, and performing, by theverification server, a financial transaction progress or a financialtransaction progress request, to the received actual card number.

In an embodiment, the virtual card number may include a fixed codecoupled at a predetermined location within the virtual card number andmatched with the verification server, and the plurality of detailedcodes.

In an embodiment, the verification server may transmit the virtual cardnumber to the one wallet server, and the one wallet server may include avirtual card number verification means.

In an embodiment, the matching code may include only informationassociated with one wallet server of the plurality of wallet servers.

In an embodiment, the verification server may transmit the matching codeto the one wallet server.

In an embodiment, the matching code may include a storage location ofthe actual card number stored in the one wallet server, or a UID storedin the one wallet server.

In an embodiment, the inventive concept may further include verifying,by the virtual card number verification means, validity of the virtualcard number based on the plurality of detailed codes and a generationsecurity code generated in the virtual card number verification means.The transmitting, by the verification server, of the virtual card numberor the matching code to the one wallet server of the plurality of walletservers storing in the actual card number based on the matching code maybe performed only when the virtual card number is valid.

In an embodiment, a first virtual card number and a second virtual cardnumber may include the same fixed code such that the first virtual cardnumber formed based on a first matching code matched with one walletserver of the plurality of wallet servers, and the second virtual cardnumber formed based on a second matching code matched with anotherwallet server of the plurality of wallet servers are transmitted to theverification server.

In an embodiment, the virtual card number may be generated by a userterminal or a wearable device including the virtual card numbergeneration means, and the user terminal or the wearable device may beregistered in one wallet server of the plurality of wallet servers.

In an embodiment, a user terminal or a wearable device registered in onewallet server of the plurality of wallet servers, and a user terminal ora wearable device registered in another wallet server of the pluralityof wallet servers may generate a virtual card number including the samefixed code.

Furthermore, the inventive concept provides a virtual card number-basedfinancial transaction providing program stored in a medium to performthe above-described method.

According to an exemplary embodiment, a virtual card number-basedfinancial transaction providing apparatus includes a communication unittransmitting or receiving data with another server or terminal, adetailed code extraction unit searching for a matching code based on aplurality of detailed codes included in a virtual card number receivedfrom a virtual card number generation means, and a wallet serverselection unit selecting one wallet server of a plurality of walletservers storing an actual card number, based on the matching code, andcontrolling the communication unit such that the virtual card number orthe matching code is transmitted to the selected wallet server. Thecommunication unit receives the actual card number corresponding to thevirtual card number from the one wallet server, and performs a financialtransaction progress or a financial transaction progress request withthe actual card number.

Other details according to an embodiment of the inventive concept areincluded in the detailed description and drawings.

BRIEF DESCRIPTION OF THE FIGURES

The above and other objects and features will become apparent from thefollowing description with reference to the following figures, whereinlike reference numerals refer to like parts throughout the variousfigures unless otherwise specified, and wherein:

FIG. 1 is an exemplary diagram of a financial transaction providingsystem, according to an embodiment of the inventive concept;

FIG. 2 is a configuration diagram of a virtual card number generationapparatus, according to another embodiment of the inventive concept;

FIG. 3 is a configuration diagram of a virtual card number verificationdevice, according to an embodiment of the inventive concept;

FIG. 4 is a configuration diagram of a wallet server, according toanother embodiment of the inventive concept;

FIGS. 5 to 7 are flow charts of a financial transaction providing methodaccording to an embodiment of the inventive concept;

FIG. 8 is an exemplary view illustrating a matching code searchalgorithm searching for a matching code by moving on a track based on adetailed code, according to an embodiment of the inventive concept;

FIG. 9 is an exemplary view of a method of moving a matching code searchtime point by using a virtual security code, according to an embodimentof the inventive concept; and

FIG. 10 is an exemplary diagram for describing a wallet server storagespace connected to a matching code and an actual card number, accordingto an embodiment of the inventive concept.

DETAILED DESCRIPTION

The above and other aspects, features and advantages of the inventiveconcept will become apparent from the following description of thefollowing embodiments given in conjunction with the accompanyingdrawings. The inventive concept, however, may be embodied in variousdifferent forms, and should not be construed as being limited only tothe illustrated embodiments. Rather, these embodiments are provided asexamples so that the inventive concept will be thorough and complete,and will fully convey the concept of the inventive concept to thoseskilled in the art. The inventive concept may be defined by scope of theclaims. Meanwhile, the terminology used herein to describe embodimentsof the inventive concept is not intended to limit the scope of theinventive concept.

The terminology used herein is for the purpose of describing embodimentsand is not intended to limit the inventive concept. In thespecification, the singular forms include plural forms unlessparticularly mentioned. The terms “comprises” and/or “comprising” usedherein does not exclude presence or addition of one or more otherelements, in addition to the aforementioned elements. The same referencenumerals denote the same elements throughout the specification. As usedherein, the term “and/or” includes any and all combinations of one ormore of the associated components. It will be understood that, althoughthe terms “first”, “second”, etc., may be used herein to describevarious components, these components should not be limited by theseterms. These terms are only used to distinguish one component fromanother component. Thus, a first component discussed below could betermed a second component without departing from the teachings of theinventive concept.

Unless otherwise defined, all terms (including technical and scientificterms) used herein have the same meaning as commonly understood by thoseskilled in the art to which the inventive concept pertains. It will befurther understood that terms, such as those defined in commonly useddictionaries, should be interpreted as having a meaning that isconsistent with their meaning in the context of the specification andrelevant art and should not be interpreted in an idealized or overlyformal sense unless expressly so defined herein.

The terminology used herein is for the purpose of describing embodimentsand is not intended to limit the inventive concept. In thespecification, the singular forms include plural forms unlessparticularly mentioned. The terms “comprises” and/or “comprising” usedherein does not exclude presence or addition of one or more otherelements, in addition to the aforementioned elements.

In this specification, a ‘financial transaction’ refers to the procedurethat takes place between finance companies. The ‘financial transaction’includes card payments, deposits or withdrawals from a bank account, orthe like.

In this specification, a ‘character’ is a component of a code andincludes all or part of uppercase alphabet characters, lowercasealphabet characters, numerals, and special characters.

In this specification, a ‘code’ refers to a string of characters.

In this specification, a ‘card number’ is used for a financialtransaction such as a payment, or the like and refers to the numberissued to a card and delivered to a card issuer in the case of apayment, the cancellation of a payment, or the like.

In this specification, an ‘actual card number’ is the number issued bythe card issuer to the card of a specific user. That is, the ‘actualcard number’ may mean a number issued for a general actual card, amobile card, or the like.

In this specification, a ‘virtual card number’ may be a card numbertemporarily generated to be connected to the actual card number and maybe a code of specific digits composed of characters including numbers.

In this specification, a ‘detailed code’ refers to a part of codesincluded in the virtual card number. That is, when the virtual cardnumber is generated by combining the separately generated a plurality ofcode, the detailed code refers to a respective code constituting thevirtual card number after the respective code is separately generated.

In this specification, a ‘matching code’ is a value found in averification algorithm using a virtual card number or at least onedetailed code constituting the virtual card number; the ‘matching code’refers to a code used to search for the actual card number storagelocation. The format of the matching code may vary depending on theactual card number storage location search method.

In this specification, the ‘unit count’ is a unit set to a specific timeinterval and is defined to change as the time interval elapses. Forexample, 1 count may be used after being set to a specific time interval(e.g., 1.5 seconds).

In this specification, a ‘virtual card number generating function’refers to the function used to generate the virtual card number.

In this specification, ‘rolling movement’ means that an object performsboth rotational and translational movements. That is, the ‘rollingmovement’ moves while performing both rotational and translationalmovements, and means that each point of the rotating object moves incontact with the moving axis sequentially.

In this specification, the ‘electronic wallet service’ refers to aservice that separately stores information about a subscriber's card(e.g., a credit card, a check card, or a debit card) and utilizes thestored credit card for financial transactions. Each electronic walletservice includes a wallet server storing information about subscribers.The wallet server will be described later.

Hereinafter, according to an exemplary embodiment of the inventiveconcept, the configuration of the actual card number will be describedto explain the process of generating a virtual card number to substitutethe actual card number and the process of searching for an actual cardnumber.

The ‘actual card number’ includes at least one of a card identificationnumber, a card security code, or an expiration date. The cardidentification number is the code assigned to identify a card issuer, acard type, and a user of a card. Generally, the card identificationnumber provided to a card has 15 or 16 digits. Moreover, In general, inthe case of the card identification number of 16 digits, the first sixdigits are composed of the issuer identification number (IIN) of thecard; the digits from the seventh digit to the fifteenth digit arecomposed of code provided by each card issuer to each card depending onan arbitrary rule; the 16th digit is composed of a value for verifyingthe card identification number by a specific formula.

The card security code is composed of the numbers on specific digits(e.g., 3 digits in the case of Visa or Master card and 4 digits in thecase of AMEX card) printed on one side of the card, and is a code fordetermining whether the card number is normal. That is, in the casewhere the card security code has 3 digits and the card identificationnumber has 16 digits, when 3-digit code being the card security code and16-digit code being the card identification number areencrypted/decrypted depending on a predetermined rule and then the cardis a normal card, when the corresponding value is matched. The cardsecurity code is referred to as a Card Verification Value (CVV) forVisa, Card Validation Code (CVC) for Master Card/JCB, and ConfidentialIdentifier Number or Card Identification Number (CID) or AmericanExpress.

The expiration date refers to the date usable after which the actualcard number is issued. Generally, the expiration date is composed offour digits having two digits for each year or month. Because themagnetic card includes the actual card number as it is, the whole cardnumber may be leaked by only reading out the magnetic card. The use ofmagnetic cards has been recently restricted over the world, and themagnetic card is being converted into a high-security card like an ICcard. For the purpose of applying other high-security methods, a newterminal needs to be installed or the magnetic card needs to be changedto be different from the conventional process. Accordingly, a method forpreventing a card number leakage is needed while the same process isapplied using the conventional actual card number. In particular, it isnecessary to improve security while the conventional magnetic cardreader is used as it.

Hereinafter, according to an embodiment of the inventive concept, avirtual card number-based financial transaction providing system, avirtual card number-based financial transaction providing method, and avirtual card number-based financial transaction providing program willbe described in detail with reference to drawings.

Hereinafter, embodiments of the inventive concept will be described indetail with reference to accompanying drawings.

FIG. 1 is an exemplary diagram of a financial transaction providingsystem, according to an embodiment of the inventive concept.

Referring to FIG. 1, according to an embodiment of the inventiveconcept, a virtual card number-based financial transaction providingsystem includes a virtual card number generation means 10, a paymentsettlement service server 30, a verification server 40, a plurality ofwallet servers 51 and 52, and a financial company server 60.

The virtual card number generation means 10 generates a virtual cardnumber including information that allows the verification server 40 orthe plurality of wallet servers 51 and 52 to search for an actual cardnumber. That is, the virtual card number generation means 10 generates avirtual card number depending on the virtual card number generationfunction. At this time, because the verification server 40 or theplurality of wallet servers 51 and 52 search for an actual card numberbased on the virtual card number, the virtual card number generationmeans may not store the actual card number. In this way, the actual cardnumber may be prevented from leaking through the hacking of the virtualcard number generation means 10. The detailed description about thevirtual card number generation function will be given later.

When the payment is made in a financial transaction terminal 20 with thevirtual card number generation means 10 or in a web-page or application,a payment settlement service server (e.g., it may be a PG server or apayment network company server, but is not limited thereto) receives avirtual card number.

The payment settlement service server 30 refers to a server held by apayment settlement service company. The payment settlement servicecompany (e.g., VISA, MASTERCARD, or the like) refers to a company thatestablishes global or local networks to allow credit card issuers andelectronic wallet services to provide financial transaction services. Inparticular, the payment settlement service company refers to a servicecompany that may issue the BIN to a credit card issuer or electronicwallet service company, may transmit a card number to a servercorresponding to the BIN included in the card number received as theuser makes a payment, and may make financial transactions. The paymentsettlement service server 30 held by the payment settlement servicecompany stores the BIN issued for a specific service and transmits andreceives a card number to allow financial transactions to be made.

For example, the payment settlement service server 30 transmits thereceived virtual card information to the server corresponding to theBIN, based on the BIN (a fixed code) included in the virtual cardnumber.

The conventional process for the electronic wallet service (walletservice) to use the payment network of a payment settlement service isas follows.

According to the conventional process, the electronic wallet serviceneeds to be registered in the payment settlement service company, forthe wallet server to receive the card number from the payment settlementservice server 30. Specifically, the electronic wallet service pays apredetermined cost to a payment settlement service company and receivesa BIN. The issued BIN is stored in the payment settlement service server30; when the payment settlement service server 30 receives a card numberincluding the issued BIN, the payment settlement service server 30transmits the received card number to the wallet server corresponding tothe electronic wallet service. As described above, the fact that theelectronic wallet service is registered in the payment settlementservice company mean that the electronic wallet service has received aBIN from the payment settlement service company.

Furthermore, in this specification, the fact that the electronic walletservice has received the BIN from the payment settlement service companymeans that the electronic wallet service has established aninfrastructure capable of making overseas payments using a globalpayment network service. The electronic wallet service may receive theBIN from the payment settlement service company and then may providefinancial transaction services to a user within the network rangeestablished by the payment settlement service company. For example, whenthe electronic wallet service is registered in a payment settlementservice company establishing a global network, the electronic walletservice may provide financial transaction services to a user within theglobal network range.

The wallet server corresponding to the electronic wallet serviceregistered in the payment settlement service company receives thevirtual card number from the payment settlement service server 30 andsearches for the actual card information stored in the wallet server,using the received virtual card number. Afterward, the found actual cardnumber is transmitted to the payment settlement service server 30.Afterward, the payment settlement service server 30 makes a financialpayment, using the received actual card number. As described above, thewallet server may receive the virtual card number from the virtual cardnumber generation means 10, using the conventional payment processinstead of the actual card number. That is, when the virtual card numberis generated as a code having a length the same as the length of theactual card number, a virtual card number-based financial transactionproviding method according to an embodiment of the inventive concept maybe applied to a process proceeding from the virtual card numbergeneration means to a card issuer's server including the virtual cardnumber verification means without changes.

However, a wallet service (an electronic wallet service) has a high costto receive a BIN from a global payment settlement service company, toprovide a global payment using payment network, and the issuanceconditions are also difficult. In particular, the electronic walletservice company needs to be registered in the payment settlement servicecompany establishing a global network to expand a service area. However,receiving a BIN from the payment settlement service company establishinga global network is expensive and the issuance conditions are difficult.Accordingly, a local electronic wallet service is restricted fromexpanding the service area.

It is difficult for an electronic wallet service provider to directlyreceive a BIN for using the global payment network from a paymentsettlement service company. The electronic wallet service provider mayprovide overseas payments, using a global payment network through aservice server (the verification server 40 to be described later)linking global payments.

In particular, when the specific electronic wallet service is notregistered in the payment settlement service company, the wallet servercorresponding to the specific electronic wallet service may not receivethe virtual card number. Accordingly, a subscriber subscribed to thespecific electronic wallet service may not use the electronic walletservice. In other words, the electronic wallet service company needs toestablish its own local network such that an electronic wallet servicenot registered in the payment settlement service company provides afinancial transaction service to a user. The electronic wallet servicecompany may not provide the financial transaction service in an areaoutside the established local network. Accordingly, the paymentconnection service server (i.e., a verification server) supportsoverseas payments of one or more electronic wallet services, based onthe BIN issued by itself to expand the electronic wallet service, whichis capable of being used for local payments, to overseas payments.

To this end, the inventive concept may allow an electronic walletservice not registered in a payment settlement service company toprovide a financial transaction service to the corresponding servicesubscriber. To this end, the inventive concept includes a verificationserver 40.

The verification server 40 receives a virtual card number (e.g., avariable virtual card number or a fixed virtual card number) from thepayment settlement service server 30 based on the BIN issued by itselfand then links the wallet service to return the actual card number of auser attempting to make a payment, to the payment network.

In an embodiment, the verification server 40 receives the virtual cardnumber from the payment settlement service server 30 instead of thewallet server, and delivers the received virtual card number to thewallet server or delivers the matching code found based on the receivedvirtual card number to the wallet server.

To this end, a company (i.e., a payment connection service operator)equipped with the verification server 40 needs to obtain a BINcorresponding to the verification server 40 from a payment settlementservice company. When the virtual card number includes a specific BIN,the payment settlement service server 30 transmits the virtual cardnumber to the verification server 40.

In an embodiment, the verification server 40 searches for the matchingcode based on the virtual card number. That is, the virtual card numberis used to search for the matching code in the verification server. Forexample, the verification server 40 stores the matching code for linkingwith the wallet server in a location allocated to each user in a virtualcard number verification algorithm.

For example, when the virtual card number is a one-time virtual cardnumber changed in unit time intervals, the verification server 40receives a virtual card number to extract a plurality of detailed codes,and searches for a specific user allocation location (e.g., UID) basedon a plurality of detailed codes to extract a matching code matchedthereto. The matching code includes specific wallet identificationinformation. In addition, the matching code may further include useridentification information. For example, as described later, when theverification server transmits the matching code to the specific walletserver, the matching code may further include user identificationinformation.

Besides, the matching code may include identification information of aspecific card registered by a specific user in a specific wallet.

The verification server transmits the found matching code or virtualcard number to one of a plurality of wallet servers registered in theverification server 40. Furthermore, the verification server 40 verifieswhether the virtual card number is a code normally generated by thevirtual card number generation means 10. The detailed description aboutthe method in which the virtual card number verification meansdetermines whether a virtual card number is normal will be given later.

The verification server 40 may receive the virtual card number from thevirtual card number generation means 10 in various manners. In anembodiment, the verification server 40 may receive the virtual cardnumber that is received by a financial transaction terminal from thevirtual card number generation means 10 via wireless communication. Forexample, when a virtual card number generation apparatus 100 includingthe virtual card number generation means 10 includes an NFC antennamodule, a Bluetooth communication module, or the like, the virtual cardnumber generation apparatus 100 may transmit the virtual card number tobe delivered to the verification server 40, to the financial transactionterminal 20 through communication with the financial transactionterminal 20.

In the meantime, the verification server 40 and the virtual card numbergeneration means 10 may include all or part of virtual card numbergeneration functions. As the verification server 40 and the virtual cardnumber generation means 10 identically include a virtual card numbercombining function included in the virtual card number generationfunction (i.e., a function to generate a virtual card number bycombining detailed codes depending on specific rules), the verificationserver 40 may properly extract a plurality of detailed codes in thevirtual card number generated by the virtual card number generationmeans 10.

Moreover, in an embodiment, the verification server 40 may verifywhether the received virtual card number is generated and received bythe normal virtual card number generation means 10. That is, theverification server 40 may perform verification by comparing the code(i.e., a virtual card number or a specific detailed code) received bythe virtual card number generation means 10 after a code (i.e., avirtual card number or a specific detailed code) is generated under thecondition the same as the condition in the case of the virtual cardnumber generation means 10.

However, an embodiment is not limited thereto, and the verificationserver 40 and the virtual card number generation means 10 may notinclude the same virtual card number generation function. In particular,the virtual card number generation means 10 may include a virtual cardnumber generation function, and the verification server 40 may include averification algorithm. Even in this case, the verification server mayperform verification of the virtual card number.

The verification server 40 searches for a matching code based on aplurality of detailed codes included in the virtual card number andtransmits the virtual card number or the matching code to one of theplurality of wallet servers 51 and 52 based on the matching code. Here,each of the plurality of wallet servers 51 and 52 refers to a servercorresponding to a different electronic wallet service.

Each of the plurality of wallet servers 51 and 52 receives the virtualcard number or matching code from the verification server 40, and thensearches for the stored actual card number based on the received virtualcard number or matching code. Afterward, the wallet server transmits thefound actual card number to the verification server 40. The verificationserver transmits the received actual card number to the paymentsettlement service server 30 such that the financial transaction ismade.

In particular, for example, when the wallet server receives the matchingcode from the verification server, the wallet server searches for a usercorresponding to the matching code, and extracts one of a plurality ofactual card numbers registered by the user to transmit the extracted oneto the verification server. To this end, the verification server and thewallet server may share the matching code through communication when anew user desires registration, and the verification server may transmitthe information (UID) of a user allocation area storing the matchingcode to the wallet server.

Moreover, for another example, when the matching code includesidentification information of a specific card registered by a specificuser in a specific wallet, the wallet server searches for the actualcard number corresponding to the matching code and transmits the foundresult to the verification server. To this end, a user client orapplication may generate a one-time variable virtual card numberdistinguished for each actual card number of a user, and theverification server searches for the matching code corresponding to theuser's specific actual card number based on the received one-timevariable virtual card number and transmits the found result to thewallet server.

Furthermore, for another example, when the wallet server receives theone-time variable virtual card number from the verification server as itis, the verification server identifies wallet information for deliveringthe virtual card number based on the virtual card number through thefound matching code, and the wallet server receives the virtual cardnumber from the verification server, and then searches for a user or anactual card number of the user based on a plurality of detailed codes inthe virtual card number. To this end, the verification server needs toprovide a virtual card number verification module to the wallet server.

Furthermore, in another embodiment, when the verification servertransmits the matching code to the wallet server, the verificationserver may receive a fixed virtual card number and a variable virtualcard number, and then may transmit the matching code to the walletserver.

The fixed virtual card number may be a card number included in thephysical card for a wallet or a virtual card number generated by anapplication for a periodic payment. More specifically, when a payment ispossible in a financial transaction terminal equipped with an IC readerand an NFC reader and a physical wallet card including a card numberdifferent from the actual card number is connected to a wallet service,users may utilize the physical wallet card upon making a payment. As thevirtual card number included in the physical wallet card includes theBIN received from the payment network, the verification server receivesthe fixed virtual card number of the physical wallet card through thepayment network. The verification server searches for the matching codecorresponding to the fixed virtual card number and transmits the foundresult to the wallet server by mapping the user's fixed virtual cardnumber and the matching code.

Furthermore, as another specific example, the user generates the fixedvirtual card number with a validity period in the wallet service toregister a periodic payment (e.g., a payment for a subscription servicesuch as Netflix). At this time, the verification server receivesinformation (including an expiration date when the expiration date isset) about the user's matching code and the generated fixed virtual cardnumber from the wallet server, and then maps the fixed virtual cardnumber for a periodic payment onto the received matching code. When auser makes a request for a payment with the fixed virtual card number ata specific time to a service registering the fixed virtual card numberfor a periodic payment, as the fixed virtual card number includes theBIN capable of using the payment network, the verification serverreceives the fixed virtual card number and searches for a matching codecorresponding to the fixed virtual card number. The verification servertransmits the found matching code to the wallet server.

Furthermore, as another specific example, when the user utilizes aone-time variable virtual card number for online or offline payment, asthe one-time variable virtual card number includes BIN capable of usingthe payment network, the verification server receives the one-timevariable virtual card number from the payment network and searches foruser allocation information (user ID (UID)) based on a plurality ofdetailed codes extracted from the one-time variable virtual card numberto extract the matching code matched with the UID. The verificationserver transmits the matching code to the wallet server corresponding tothe matching code extracted from the virtual card number verificationalgorithm.

In this way, the global payment connection service server not onlyexpands the local payment of the electronic wallet service to overseaspayment online/offline, but also uses the conventional payment method,but is not limited to the payment method provided by each electronicwallet service. In addition to a partner where a wallet service isaffiliated, the global payment connection service server is connected tomake a payment using a virtual card number.

Hereinafter, the above-described configurations will be described indetail with reference to the following drawings.

FIG. 2 is a configuration diagram of the virtual card number generationapparatus, according to another embodiment of the inventive concept.

Referring to FIG. 2, according to another embodiment of the inventiveconcept, the virtual card number generation apparatus 100 includes adetailed code generation unit 110, a virtual card number generation unit120, and a virtual card number provision unit 130.

According to embodiments of the inventive concept, the virtual cardnumber generation apparatus 100 may be a device, in which the programcorresponding to the virtual card number generation means 10 is embeddedor in which a program corresponding to the virtual card numbergeneration means 10 is installed. For example, the virtual card numbergeneration apparatus 100 may be a smart card equipped with the programcorresponding to the virtual card number generation means 10. Moreover,for example, the virtual card number generation apparatus 100 may be amobile terminal in which an app card application corresponding to thevirtual card number generation means 10 is installed. In addition to theabove-described illustration, the virtual card number generationapparatus 100 may be a device that generates and transmits a virtualcard number. For a more specific example, the virtual card numbergeneration apparatus 100 may be a wearable device in which an app cardapplication corresponding to the virtual card number generation means 10is installed.

The virtual card number generation unit 120 may generate the virtualcard number by combining one or more detailed codes. According to anembodiment, the virtual card number may be generated by combining aplurality of detailed codes depending on a specific rule. The virtualcard number generating function includes the rule (i.e., the detailedcode combining function) to combine a plurality of detailed codes.

Various methods may be applied to the method of generating one virtualcard number by combining the plurality of detailed codes. As the exampleof the detailed code combining function, the virtual card numbergeneration unit 120 may generate the virtual card number in the mannerof alternately positioning the first code of N-digits and the secondcode of N-digits. Furthermore, for another example, the detailed codecombining function may be a function to combine the second code behindthe first code. As the length of the detailed code included in a virtualfunction increases, the detailed code combining function may begenerated variously.

The detailed code generation unit 110 may generate one or more detailedcodes. The virtual card number generation function includes eachdetailed code generation function. For example, the virtual card numbergeneration function generates a plurality of detailed codes, using aplurality of detailed codes generation functions and generates a virtualcard number, using the detailed code combining function to combine theplurality of detailed codes.

In an embodiment, the detailed code generation unit 110 includes a firstfunction and a second function as detailed code generation functions togenerate a first code and a second code. The first code and the secondcode may have the correlation for searching for a wallet servertransmitting a virtual card number in the verification server 40including a virtual card number verification means. However, the virtualcard number generation apparatus 100 may only include the first functionto generate the first code and the second function to generate thesecond code through the detailed code generation functions to improvesecurity, and may not include the data about the correlation between thefirst code and the second code.

Furthermore, in another embodiment, the detailed code generation unit110 may generate at least one of the first and second codes, using thematching code stored in the virtual card number generation apparatus100. Here, the matching code is a code matched with a specific walletserver, and the verification server 40 determines a wallet server totransmit the matching code, using a virtual card number based on thematching code. In the meantime, the matching code may include at leastone of information associated with one of the plurality of walletservers, the storage location of the actual card number stored in theone wallet server, and the UID stored in the one wallet server. Theverification server 40 stores the matching code and the location of thewallet server that matches with the matching code.

Meanwhile, an embodiment according to the inventive concept may bechanged depending on information included in the matching code.

In an embodiment, when the matching code includes only informationassociated with one of a plurality of wallet servers, the verificationserver 40 transmits a virtual card number to the one wallet server basedon the matching code. In this case, the one wallet server needs to beequipped with a virtual card number verification means to search for theactual card number.

Also, in another embodiment, the matching code may include informationassociated with one of the plurality of wallet servers and the storagelocation of the actual card number stored in the one wallet server. Inthis case, the verification server 40 determines the wallet server totransmit the matching code based on the matching code, and transmits theactual card number storage location to the corresponding wallet server.

Moreover, in another embodiment, the matching code may not include theactual card number storage location in the wallet server, and mayinclude the information associated with one of a plurality of walletservers and the UID registered in the one wallet server. Here, the UIDitself may include information associated with one of a plurality ofwallet servers. In this case, the verification server 40 determines thewallet server to transmit the detailed code based on the UID, andtransmits the UID to the corresponding wallet server.

Meanwhile, the matching code may include the UID itself or the storagelocation of the UID. When the matching code includes the UID itself,after receiving the matching code from the verification server 40, thewallet server searches for the actual card number stored after beingmatched with the UID. On the other hand, when the matching code includesthe storage location of the UID, the wallet server receives the matchingcode from the verification server 40, searches for the UID using thematching code, and searches for the actual card number stored afterbeing matched with the UID.

Furthermore, in another embodiment, the matching code is stored in eachof the virtual card number generation apparatus 100 and the verificationserver 40 to verify the validity of a virtual card number to bedescribed later. The matching code may be allocated when the userregisters user information in the electronic wallet service; the walletserver transmits the allocated matching code to the virtual card numbergeneration apparatus 100 and the verification server 40. This will bedescribed in more detail later.

Moreover, according to another embodiment, the virtual card number mayinclude the unchanged fixed code for distinguishing groups, togetherwith a plurality of detailed codes. The fixed code may be combined atthe predetermined location within the virtual card number. In the casewhere the virtual card number generating function is assigned for eachcard type group, the virtual card number verification means maydetermine a card type group only when extracting the fixed code from thevirtual card number first. Accordingly, the fixed code may be combinedat predetermined location (e.g., a location the same as the BIN of theactual card number) within the virtual card number to be detachablewithout the separate function. The fixed code may be matched with theverification server 40, and may allow the verification server 40 toreceive a virtual card number.

Moreover, according to an embodiment, the virtual card number generationapparatus 100 may generate the detailed code to be the code of the samedigits as the actual card number by combining a plurality of detailedcodes and the fixed code. The virtual card number generation apparatus100 needs to generate a code having the same digits as the actual cardnumber, as the virtual card number to use the virtual card number whilethe conventional financial transaction system (e.g., when the financialtransaction is a payment in a store, a POS device and a PG server) ismaintained as it is. To this end, the virtual card number generationapparatus 100 utilizes the digits of a plurality of detailed codes bydividing digits other than the fixed code for determining the cardissuer and the card type of the corresponding card issuer. For example,when the actual card number has the card identification number of 16digits and includes the first code and the second code as the detailedcode, the virtual card number generation apparatus 100 may generate thefirst code and the second code, each of which has 5 digits, byidentically dividing 10 digits other than the fixed code of 6 digitsamong 16 digits. Afterward, the virtual card number generation unit tobe described later may combine the first code and the second codedepending on the specific rule and then may combine the fixed code withthe front portion of the card identification number of the actual cardnumber to generate the card identification number of the virtual cardnumber.

The virtual card number provision unit 130 performs a role of outputtingthe virtual card number to the outside to provide the virtual cardnumber to a virtual card number verification device 200. The virtualcard number provision unit 130 may include various components capable ofproviding the virtual card number to the outside. The virtual cardnumber provision unit 130 includes all or part of a wireless Internetmodule, a short range communication module, an IC chip, a magnetic fieldgeneration unit, a display unit, and the like.

The wireless Internet module is a module for wireless Internet accessand may be embedded in a mobile terminal 100 or may be attached on themobile terminal 100. The wireless Internet technology may includeWireless LAN (WLAN) (Wi-Fi), Wireless broadband (Wibro), WorldInteroperability for Microwave Access (Wimax), High Speed DownlinkPacket Access (HSDPA), long term evolution (LTE), Long TermEvolution-Advanced (LTE-A), or the like. For example, in the case wherethe virtual card number generation apparatus 100 is a mobile terminal inwhich an app card application being a virtual card number generationmeans is installed, when a user purchases an item from a shoppingapplication or a shopping website, the virtual card number generationapparatus 100 may transmit the virtual card number to a paymentsettlement service server (i.e., the PG server) through wirelessInternet communication.

The short range communication module refers to a module for short rangecommunication. The short range communication technology may includeBluetooth, Bluetooth Low Energy (BLE), Beacon, Radio FrequencyIdentification (RFID), Near Field Communication (NFC), Infrared DataAssociation (IrDA), Ultra Wideband (UWB), ZigBee, or the like.

When the virtual card number generation apparatus 100 corresponds to acard for transmitting the virtual card number to a POS device, thevirtual card number provision unit 130 may include a magnetic fieldgeneration unit or an IC chip. The magnetic field generation unit maytransmit card data to a card reader by outputting the card data in theform of a magnetic signal. The magnetic field generation unit mayinclude one or more magnetic cells that form a magnetic field throughcurrent flow and output the magnetic signal of card information. Themagnetic field generation unit may be provided such that the magneticfield generation unit is exposed on the upper or lower surface of a PCBplate along a long side to be adjacent to the specific long side of thePCB plate of the card.

The IC chip may be mounted in PCB and may exchange data by contactingthe terminal of IC card reader. That is, the IC chip delivers thevirtual card number generated by the virtual card number generation unit120 to the IC card reader.

The display unit may include at least one of a liquid crystal display, athin film transistor-liquid crystal display, an organic light-emittingdiode, a flexible display, and an E-paper.

The display unit may visually output the virtual card number generatedby virtual card number generation unit 120 to the outside. In this way,the user of the virtual card number generation apparatus 100 mayvisually identify the generated virtual card number in real time andthen may enter the visually identified virtual card number into thevirtual card number verification means.

For example, when the virtual card number generation device is the smartcard, the virtual card number generation apparatus may include a displayunit capable of outputting the virtual card number without outputtingthe card number on the surface of the smart card. Moreover, for example,when the virtual card number includes the fixed code the same as theBIN, the virtual card number generation apparatus 100 may output the BINon the card surface and may store only the digits of the remaining cardnumber in the display unit. For example, the display unit may be anE-paper, an OLED, or the like or may be a 7-segment display provided ateach position. Moreover, for example, when the virtual card generationdevice is a smartphone in which the app card application is installed,the display unit may be the display unit of the smartphone in which theapp card application is executed and is displayed.

Moreover, the user may deliver the virtual card number displayed in thedisplay unit via various paths of a text message. Because the virtualcard number (in particular, the code generated while being changedcontinuously) is delivered such that the virtual card numberverification means searches for the actual card number withouttransmitting the actual card number, the user may not be concerned aboutthe leakage of the actual card number upon transmitting the code throughthe text message, or the like.

Hereinafter, the virtual card number verification device 200 will bedescribed.

FIG. 3 is a configuration diagram of a virtual card number verificationdevice 200, according to another embodiment of the inventive concept.

Referring to FIG. 3, according to another embodiment of the inventiveconcept, the virtual card number verification device 200 includes acommunication unit 210, a detailed code extraction unit 220, and awallet server selection unit 230. The virtual card number verificationdevice 200 may be the verification server 40.

For example, in the case of a card payment, the virtual card numberverification device 200 receives the virtual card number generated bythe virtual card number generation apparatus 100 through a POS deviceand a PG server.

The communication unit 210 receives the virtual card number from thevirtual card number generation apparatus 100. According to anembodiment, the communication unit 210 may receive the virtual cardnumber generated by the virtual card number generation apparatus 100,through the communication with another server (e.g., the paymentsettlement service server).

The detailed code extraction unit 220 extracts a plurality of detailedcodes included in the virtual card number. The virtual card number maybe generated by combining a plurality of detailed codes depending on thespecific rule. The detailed code extraction unit 220 of the virtual cardnumber verification device 200 may include the detailed code combiningfunction the same as the virtual card number generation apparatus 100 ofa specific group, and thus the detailed code extraction unit 220 mayextract a plurality of detailed codes from the virtual card number byapplying the detailed code combining function. For example, when thevirtual card number generation apparatus 100 generates the virtual cardnumber obtained by combining two detailed codes (i.e., the first codeand the second code), the detailed code extraction unit 220 may separatethe first code and the second code by applying the detailed codecombining function to the character string array of the virtual cardnumber.

The wallet server selection unit 230 selects a wallet server to transmitdetailed codes based on a plurality of detailed codes. Here, a pluralityof wallet servers are servers previously registered in the verificationserver 40. The correlation may be included between detailed codes forthe wallet server selection unit 230 to select a wallet servertransmitting a plurality of detailed codes.

When the virtual card number includes the first code and the secondcode, as an embodiment of having the correlation between detailed codes,the wallet server selection unit 230 may determine a search start pointcorresponding to the first code and may regard a point, which is movedalong the search path corresponding to the second code from the searchstart point, as a matching code. That is, the detailed code may includethe first code for setting the start point of the search and the secondcode for setting the search path from the start point to the matchingcode depending on the specific search method.

Furthermore, in another embodiment, as the virtual card numbergeneration means 10 (or the virtual card number generation apparatus100) provides a new virtual card number for each unit count, the virtualcard number verification device 200 may set the search start point andthe search path based on the first code and the second code changed foreach count to search for a matching code.

Furthermore, in another embodiment, to search for the matching code byusing a plurality of detailed codes having the correlation, the walletserver selection unit 230 may include the matching code searchalgorithm. The matching code search algorithm is an algorithm capable ofbeing searching for the matching code when each detailed code includedin the virtual matching code is applied. For example, in the case wherethe virtual card number includes the first code for determining thesearch start point of the matching code and the second code forpresenting the storage location direction from the search start point,when the matching code search algorithm allows a direction to be changedto the direction corresponding to the second code at the pointcorresponding to the first code, the matching code search algorithm isan algorithm that adjusts the matching code to be positioned at thecorresponding location. As the matching code search algorithm is used,even though the first code and the second code included in the virtualcard number are changed, the virtual card number verification device 200may search for the matching code. Various methods may be applied to thematching code search algorithm, and the detailed exemplification will bedescribed with reference to FIGS. 8 and 9. However, the matching codesearch algorithm is not limited to the exemplification described below.

Furthermore, in another embodiment, the virtual card number verificationdevice 200 further includes a virtual card number verification unit 240.The virtual card number verification unit 240 determines whether thevirtual card number received by the virtual card number verificationdevice 200 is authentic.

The virtual card number verification unit 240 may receive and store aunique value (e.g., a matching code) of the virtual card numbergeneration apparatus 100 when a user registers user information in anelectronic wallet service.

When the verification server 40 receives the virtual card number, thedetailed code extraction unit 220 extracts a plurality of detailed codesfrom the virtual card number. The virtual card number verification unit240 may obtain time data at which the virtual card number is generated,based on the detailed code, may extract the unique value of the specificvirtual card number generation apparatus 100 stored therein, may applythe extracted unique value together with the time data to the virtualsecurity code generation function (e.g., an OTP function), and maygenerate the virtual security code. The virtual card number verificationunit 240 may determine whether the virtual security code (i.e., thereception virtual security code) received by the virtual card numbergeneration apparatus 100 is the same as the virtual security code (i.e.,the generated virtual security code) calculated using the virtualsecurity code generation function stored therein. Because there is adifference between a time point at which the virtual card numbergeneration apparatus 100 generates a virtual card number and a timepoint at which the virtual card number verification device 200 receivesthe virtual card number, the virtual card number verification device 200may calculate the virtual security code (i.e., OTP number) within aspecific time range (e.g., from a time point, at which the virtual cardnumber is received, until a specific count) in consideration of a timedelay and may determine whether there is a value the same as thereception virtual security code received from the virtual card numbergeneration apparatus 100. When the received virtual security code is thesame as the generated virtual security code, the virtual card numberverification unit 240 determines that the virtual card number is anormal virtual card number.

Furthermore, in another embodiment, the virtual card number verificationunit 240 utilizes the matching code found from the wallet serverselection unit 230 to verify the validity of the virtual card number. Inparticular, when the received virtual security code is the same as thegenerated virtual security code, the virtual card number verificationunit 240 retrieves whether a code the same as the matching code foundfrom the wallet server selection unit 230 is stored in the verificationserver 40. When the matching code found from the wallet server selectionunit 230 is stored in the verification server 40, the virtual cardnumber verification unit 240 determines that the virtual card number isa normal virtual card number.

When the virtual card number verification unit 240 determines that thevirtual card number is a normal card number, the communication unit 210transmits the virtual card number or matching code to the wallet serverselected by the wallet server selection unit 230.

Next, the wallet server will be described in detail.

FIG. 4 is a configuration diagram of a wallet server 300 according toanother embodiment of the inventive concept.

A communication unit 310 receives a virtual card number or matching codefrom the verification server 40 and transmits an actual card number tothe verification server 40.

An actual card number search unit 320 searches for the actual cardnumber stored in a wallet server, using the virtual card number ormatching code received from the verification server 40.

In an embodiment, when the communication unit 310 receives a virtualcard number from the verification server 40, the actual card numbersearch unit 320 includes a virtual card number verification means. Theactual card number search unit 320 extracts one of an actual card numberstorage location and the storage locations of UID and UID from thevirtual card number, using the virtual card number verification means,and then searches for the actual card number.

In another embodiment, when the communication unit 310 receives amatching code from the verification server 40, the matching code mayinclude one of the stored actual card number storage location and thestorage location of UID and UID.

When the matching code includes the storage location of the actual cardnumber, the actual card number search unit 320 searches for the actualcard number matched with the matching code. On the other hand, when thematching code includes the UID itself, the actual card number searchunit 320 searches for the actual card number stored after being matchedwith the UID, using the matching code. On the other hand, when thematching code includes the storage location of the UID, the actual cardnumber search unit 320 searches for the UID, using the matching code andsearches for the actual card number stored after being matched with theUID.

The matching code refers to a code allocated when a virtual card numbergeneration apparatus (e.g., a wearable device) is registered in a walletserver. The allocated matching code is stored in an actual card numberstorage unit 330 in the wallet server, and is transmitted to the virtualcard number generation apparatus and the verification server 40.

The actual card number storage unit 330 may generate an actual cardnumber storage space for each user or for each virtual card numbergeneration apparatus to store an actual card number. In an embodiment,the actual card number storage unit 330 includes the actual card numberstorage space in which one or more actual card numbers are stored.Furthermore, as illustrated in FIG. 10, the actual card number storageunit 330 includes a matching code storage area, a basic card settingarea, and a card number storage area. A plurality of actual card numbersare stored in the card number storage area after being matched with theidentification number; the basic card setting area stores theidentification number of the actual card number set as the basic card(or a default card).

As described above, the actual card number is not stored in theverification server 40, but is stored in a wallet server in which avirtual card number generation apparatus is registered. The electronicwallet service user may make a financial transaction using theverification server 40 by registering user information (e.g., an actualcard number) in only the corresponding wallet server.

Hereinafter, a financial transaction providing method utilizing theabove-described components will be described in detail.

FIGS. 5 to 7 are flow charts of a financial transaction providing methodaccording to an embodiment of the inventive concept.

Referring to FIG. 5, the virtual server number receiving step S100 inwhich the verification server 40 receives the virtual card numberprovided by the virtual card number generation means 10 from thefinancial transaction terminal proceeds.

In an embodiment, the virtual card number generation means 10 may beembedded in a wearable device. The electronic wallet service user mayregister the wearable device in a wallet server and may install thevirtual card number generation program. In the case of making a cardpayment, the virtual card number generated by the wearable device isdelivered to the payment settlement service server 30 through thefinancial transaction terminal 20; the payment settlement service server30 transmits the virtual card number to the verification server 40 basedon the BIN included in the virtual card number.

In an embodiment, a plurality of wallet servers corresponding todifferent electronic wallet services may be registered in theverification server 40; all the virtual card numbers generated from thevirtual card number generation apparatus 100 registered in each walletserver may include the same BIN. Accordingly, all the virtual cardnumbers generated from the virtual card number generation apparatus 100registered in different electronic wallet services are transmitted tothe verification server 40.

Afterward, a step S200 in which the verification server 40 extracts aplurality of detailed codes included in the virtual card numberproceeds. The plurality of detailed codes are extracted by the detailedcode extraction unit 220 included in the verification server 40. To thisend, the virtual card number generation apparatus 100 and theverification server 40 may include the same virtual card numbergeneration function. However, an embodiment is not limited thereto, andthe verification server may include only the virtual card verificationalgorithm.

Afterward, a step S300, in which the verification server 40 transmits avirtual card number or matching code to one of a plurality of walletservers storing the actual card number based on a plurality of detailedcodes, proceeds.

In an embodiment, the verification server 40 may search for a matchingcode by combining the extracted plurality of detailed codes, and mayselect a wallet server to transmit the detailed code using the foundmatching code.

Furthermore, in another embodiment, the matching code may consist of acode (4 digits) indicating the wallet server and a code (5 digits) of auser serial number in the wallet server. The verification server 400 mayselect a wallet server to transmit the matching code, based on a 4-digitcode indicating a wallet server in the matching code.

Next, a step S400 of receiving an actual card number corresponding to aplurality of detailed codes from one wallet server proceeds.

Referring to FIG. 7, the wallet server receives at least one (e.g., amatching code) of a plurality of detailed codes extracted from thevirtual card number (S310), searches for the actual card number storedin the wallet server using the received detailed code (S320), andtransmits the found actual card number to the verification server 40(S330).

In an embodiment, the wallet server receives the matching code composedof a code (4 digits) indicating the wallet server and a code (5 digits)of a user serial number in the wallet server, from the verificationserver 40, and then searches for the actual card number storage locationusing the serial number code. Afterward, the wallet server transmits thefound actual card number to the verification server 40.

Furthermore, in another embodiment, the wallet server may receive theactual card storage location from the verification server 40. In thiscase, the wallet server transmits the actual card number stored in thereceived actual card storage location to the verification server 40.

Finally, a step S500, in which the verification server 40 performs afinancial transaction progress or a financial transaction progressrequest with the received actual card number, proceeds.

In an embodiment, the verification server 40 transmits the actual cardnumber to the payment settlement service server 30. The paymentsettlement service server 30 transmits the actual card number to thefinancial company server 60 corresponding to the BIN based on the BINincluded in the actual card number. The financial company server 60receives the actual card number; when the received actual card number isthe same as the actual card number stored in the financial companyserver 60, the financial company server 60 approves a request for afinancial transaction.

In the meantime, in another embodiment, when the virtual card number isnot valid, the verification server 40 does not transmit the detailedcode extracted from the virtual card number, to the wallet server.

In particular, referring to FIG. 6, a step S200, in which theverification server 40 extracts a plurality of detailed codes includedin the virtual card number, proceeds; a step S210, in which theverification server 40 verifies the validity of the virtual card numberbased on a plurality of detailed codes and the generation security codegenerated within the verification server, proceeds. A method ofverifying the validity of the virtual card number has been specificallydescribed in FIG. 3, and thus a detailed description is omitted.

Only when the received virtual card number is valid, the verificationserver 40 transmits the extracted detailed code to the wallet server.

As described above, the inventive concept does not register anelectronic wallet service in a payment settlement service server, andenables a financial transaction service to be provided through anelectronic wallet service.

Hereinafter, specific examples of the first and second codes will bedescribed.

FIG. 8 is an exemplary view illustrating a matching code searchalgorithm searching for a matching code by moving on a track based on adetailed code, according to an embodiment of the inventive concept. FIG.9 is an exemplary view of a method of moving a matching code search timepoint by using a virtual security code, according to an embodiment ofthe inventive concept.

In one embodiment, the verification server 40 includes a matching codesearch algorithm; the matching code search algorithm searches for amatching code by moving on a track based on a plurality of detailedcodes constituting a virtual code.

Referring to FIG. 8, the virtual code includes a first code and a secondcode, as a plurality of detailed codes generated based on a timeelapsing from a point in time when the virtual code generation functionis driven.

As a specific example of the first code and the second code, the codevalue (first code value) corresponding to the first code may be a valueobtained by adding an OTP code value to the count corresponding to thecurrent time point based on the driving time point of the virtual codegeneration function. The first code value operates as a waypoint in theactual code search process. The code value (second code value)corresponding to the second code may be a value obtained by subtractingthe matching code from the first code value. The second code value is acount from the waypoint (the first code value) to the matching code.

That is, an embodiment of the first code and second code generated bythe detailed code generation unit 110 is as follows.

First code=current time count+OTP code

Second code=first code−matching code

The OTP code is a code generated by the OTP code generation functionincluded in the detailed code generation function, and is a codegenerated at different time points. Accordingly, the detailed code maybe generated differently depending on a generation time point of thevirtual code, thereby preventing the detailed code from beingredundantly generated and enhancing security.

As another specific example of the first code and the second code, thecode value (the first code value) corresponding to the first code may bea value obtained by adding the matching code to the OTP code value; thecode value (the second code value) corresponding to the second code maybe an OTP code value.

That is, another embodiment of the first code and second code generatedby the detailed code generation unit 110 is as follows.

First code=OTP code+matching code

Second code=OTP code

As illustrated in FIG. 8, the verification server 40 searches for amatching code by moving along a track in the direction set by the countcorresponding to the second code value, via the count on the trackmatched with the first code value as the waypoint.

Furthermore, in another embodiment, the first code and the second codemay be codes for the reference count added by the OTP code generatedrandomly from a time point (e.g., a time point at which the virtual cardnumber generation means generates a virtual card number) at which thevirtual card number generation apparatus is registered by the walletserver or a time point at which a financial transaction is requested.

As the detailed embodiment, a virtual card number generating meansgenerates the virtual security code by reflecting the virtual securitycode to the first code and the second code, without outputting thevirtual security code to the outside. As illustrated in FIG. 8, thevirtual card number generating means 10 generates a virtual securitycode value (e.g., OTP code) based on the matching code stored in avirtual card number generating apparatus, and generates the first codeof a count, to which the virtual security code value is added, at aregistration time point of the virtual card number generation apparatus,and generates the second code of the count corresponding to the virtualsecurity code value (i.e., generating the virtual security code itselfas the second code). That is, the first code and the second code aregenerated based on the count shifted by the value of the virtualsecurity code from a time point ‘A’ at which the virtual card numbergeneration apparatus is registered in the wallet server. The countshifted from the time point ‘A’ may be a count earlier or later than thecount corresponding to the current time point depending on the generatedvirtual security code value. The verification server 40 may search forthe matching code by applying the received first code and second code tothe matching code search algorithm. As such, it is impossible for otherpeople to identify the order in which the first code and the second codeconstituting the virtual card number are provided, thereby improving thesecurity.

The steps of a method or algorithm described in connection with theembodiments of the inventive concept may be embodied directly inhardware, in a software module executed by hardware, or in a combinationthereof. The software module may reside on a Random Access Memory (RAM),a Read Only Memory (ROM), an Erasable Programmable ROM (EPROM), anElectrically Erasable Programmable ROM (EEPROM), a Flash memory, a harddisk, a removable disk, a CD-ROM, or a computer readable recordingmedium in any form known in the art to which the inventive conceptpertains.

Although embodiments of the inventive concept have been described hereinwith reference to accompanying drawings, it should be understood bythose skilled in the art that the inventive concept may be embodied inother specific forms without departing from the spirit or essentialfeatures thereof. Therefore, the above-described embodiments areexemplary in all aspects, and should be construed not to be restrictive.

The inventive concept has the following various effects.

First, according to an embodiment of the inventive concept, because avirtual card number (or matching code extracted from the virtual cardnumber) generated from a virtual card number generation apparatus isdelivered through a verification server to a wallet server for providingelectronic wallet service, the electronic wallet service does notrequire a separate Bank Identification Number (BIN) from a paymentsettlement service company to provide a financial transaction service toa user. Accordingly, a system establishment cost for providing anelectronic wallet service may be reduced.

Second, according to an embodiment of the inventive concept, it ispossible to provide a plurality of different electronic wallet servicesby receiving a single BIN. Accordingly, a system establishment cost forproviding an electronic wallet service may be reduced.

Third, according to an embodiment of the inventive concept, the virtualcode generation function is stored in only the virtual card numbergeneration apparatus and verification server; the algorithm forsearching for a matching code for a wallet server storing the actualcard number is embedded in only the verification server; the actual cardnumber is stored in only the wallet server; accordingly, it is possibleto prevent an algorithm for generating and verifying the virtual cardnumber, and the actual card number from leaking out.

The effects of the present inventive concept are not limited to theaforementioned effects, and other effects not mentioned herein will beclearly understood from the following description by those skilled inthe art to which the inventive concept pertains.

While the inventive concept has been described with reference toexemplary embodiments, it will be apparent to those skilled in the artthat various changes and modifications may be made without departingfrom the spirit and scope of the inventive concept. Therefore, it shouldbe understood that the above embodiments are not limiting, butillustrative.

What is claimed is:
 1. A virtual card number-based financial transactionproviding method by a verification server, the method comprising:receiving, by the verification server, a virtual card number provided bya virtual card number generation means, from a financial transactionterminal; searching, by the virtual card number verification means, fora matching code, using a plurality of detailed codes included in thevirtual card number; transmitting, by the verification server, thevirtual card number or the matching code to one wallet server of aplurality of wallet servers storing in an actual card number, based onthe matching code; receiving the actual card number corresponding to thevirtual card number from the one wallet server; and performing, by theverification server, a financial transaction progress or a financialtransaction progress request, to the received actual card number.
 2. Themethod of claim 1, wherein the virtual card number includes a fixed codecoupled at a predetermined location within the virtual card number andmatched with the verification server, and the plurality of detailedcodes.
 3. The method of claim 2, wherein the verification servertransmits the virtual card number to the one wallet server, and whereinthe one wallet server includes a virtual card number verification means.4. The method of claim 3, wherein the matching code includes onlyinformation associated with one wallet server of the plurality of walletservers.
 5. The method of claim 2, wherein the verification servertransmits the matching code to the one wallet server.
 6. The method ofclaim 5, wherein the matching code includes a storage location of theactual card number stored in the one wallet server, or a user identifier(UID) stored in the one wallet server.
 7. The method of claim 2, furthercomprising: verifying, by the virtual card number verification means,validity of the virtual card number based on the plurality of detailedcodes and a generation security code generated in the virtual cardnumber verification means, wherein the transmitting, by the verificationserver, of the virtual card number or the matching code to the onewallet server of the plurality of wallet servers storing in the actualcard number based on the matching code is performed only when thevirtual card number is valid.
 8. The method of claim 2, wherein a firstvirtual card number and a second virtual card number include the samefixed code such that the first virtual card number formed based on afirst matching code matched with one wallet server of the plurality ofwallet servers, and the second virtual card number formed based on asecond matching code matched with another wallet server of the pluralityof wallet servers are transmitted to the verification server.
 9. Themethod of claim 2, wherein the virtual card number is generated by auser terminal or a wearable device including the virtual card numbergeneration means, and wherein the user terminal or the wearable deviceis registered in one wallet server of the plurality of wallet servers.10. The method of claim 9, wherein a user terminal or a wearable deviceregistered in one wallet server of the plurality of wallet servers, anda user terminal or a wearable device registered in another wallet serverof the plurality of wallet servers generate a virtual card numberincluding the same fixed code.
 11. A virtual card number-based financialtransaction providing program, the program being stored in a medium tobe combined with a computer which is hardware and perform the method ofclaim
 1. 12. A virtual card number-based financial transaction providingapparatus, the apparatus comprising: a communication unit configured totransmit or receive data with another server or terminal; a detailedcode extraction unit configured to search for a matching code based on aplurality of detailed codes included in a virtual card number receivedfrom a virtual card number generation means; and a wallet serverselection unit configured to: select one wallet server of a plurality ofwallet servers storing an actual card number, based on the matchingcode; and control the communication unit such that the virtual cardnumber or the matching code is transmitted to the selected walletserver, wherein the communication unit receives the actual card numbercorresponding to the virtual card number from the one wallet server, andperforms a financial transaction progress or a financial transactionprogress request with the actual card number.
 13. The apparatus of claim12, wherein the virtual card number includes a fixed code coupled at apredetermined location within the virtual card number and matched withthe financial transaction providing apparatus, and the plurality ofdetailed codes.
 14. The apparatus of claim 13, wherein the matching codeincludes at least one of information associated with one wallet serverof the plurality of wallet servers, a storage location of the actualcard number stored in the one wallet server, and a UID stored in the onewallet server.
 15. The apparatus of claim 12, further comprising: avirtual card number verification unit configured to verify validity ofthe virtual card number based on the plurality of detailed codes.